package com.yxym.generic;

public class Generic02 {
    public static void main(String[] args) {
        Person<String> person = new Person<>("a");
        /*
        class Person {
            String s ;//E 表示 s 的数据类型, 该数据类型在定义 Person 对象的时候指定,即在编译期间，就确定 E 是什么类型
            public Person(String s)
            {//E 也可以是参数类型
            this.s = s;
            }
        public String f()
            {//返回类型使用 E
            return s;
            }
        }


         */
        Person<Integer> person1 =new Person<>(20);
        person.show();
        person1.show();

    }
}

class Person<E>{//E 具体的数据类型在定义 Person 对象的时候指定,
    // 即在编译期间，就确定 E 是什么类型
    E a;

    public Person(E a) {
        this.a = a;
    }

    public E info(){
        return a;
    }

    public void show(){
        System.out.println(a.getClass());
    }
}